package com.powergisol.gis.service;

import com.powergisol.gis.config.ServiceFeignConfig;
import com.powergisol.gis.service.impl.ChangeMapServiceImpl;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;


@FeignClient(value = "mapChange-service",fallback = ChangeMapServiceImpl.class,configuration = ServiceFeignConfig.class)
public interface ChangeMapService {
    @RequestMapping(value = "/change/gltfCompression",method = RequestMethod.POST)
    Boolean gltfCompression(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out);

    @RequestMapping(value = "/change/objToGltf",method = RequestMethod.POST)
    Boolean objToGltf(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out);

    @RequestMapping(value = "/change/osgb2b3dm",method = RequestMethod.POST)
    Boolean osgb2b3dm(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out);

    @RequestMapping(value = "/change/osgb2b3dmNew",method = RequestMethod.POST)
    Boolean osgb2b3dmNew(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out);

    @RequestMapping(value = "/change/osgbToPld",method = RequestMethod.POST)
    Boolean osgbToPld(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out);

    @RequestMapping(value = "/change/tif2terrain",method = RequestMethod.POST)
    Boolean tif2terrain(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out,
                        @RequestParam(value = "start") String start, @RequestParam(value = "end") String end);


    @RequestMapping(value = "/progress/gltfCompression",method = RequestMethod.POST)
    Double progressGltfCompression(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out);

    @RequestMapping(value = "/progress/objToGltf",method = RequestMethod.POST)
    Double progressObjToGltf(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out);

    @RequestMapping(value = "/progress/osgb2b3dm",method = RequestMethod.POST)
    Double progressOsgb2b3dm(@RequestParam(value = "in") String in, @RequestParam(value = "out") String out);

    @RequestMapping(value = "/progress/osgb2Pld",method = RequestMethod.POST)
    Double osgb2Pld(@RequestParam(value = "in") String in, @RequestParam(value = "out") String outs);

    @RequestMapping(value = "/progress/tif2terrain",method = RequestMethod.POST)
    Double progressTif2terrain(@RequestParam(value = "layers") String layers, @RequestParam(value = "out") String out);

}
